home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -screenplay- / shareware / hammytown / graal.main < prev    next >
Text File  |  1999-02-08  |  30KB  |  797 lines

  1. /*
  2. /* This is the graal.main script file for Hammy Town, 
  3. /* the dodgiest ever GRAAL Graphic Adventure. Heavily annotated.
  4. /*
  5. /* If there's a statement or command that you wish to know more
  6. /* about, just put the cursor over the statement or command name and
  7. /* press the HELP key. (This requires the GRAAL.guide file to be
  8. /* in the same directory as the script file and the editor...)
  9. /*
  10.  
  11.  
  12. /* ===================================================================== */
  13. /*                                                                       */
  14. /*     General adventure and player interface set-up comes first...      */
  15. /*                                                                       */
  16. /* ===================================================================== */
  17.  
  18. /* NAME: string
  19. /*
  20. /*   The name of the adventure
  21. /*
  22. NAME: "Esape From Hammy Town"
  23.  
  24. /* VERSION: string
  25. /*
  26. /*   The version number of the adventure
  27. /*
  28. VERSION: 1.10
  29.  
  30. /* Well, actually it's 1.20, but if I leave it at 1.10, then
  31. /* saved games from version 1.10 should load in OK.
  32.  
  33.  
  34. /* MAX_CACHE: number of files
  35. /*
  36. /*   This number is the maximum number of files to be
  37. /*   buffered in RAM: of machines with memory to spare.
  38. /*
  39. /*   A good practice is to set to 0 during development
  40. /*   and to 100 when playing (or testing without altering
  41. /*   too much in the files).
  42. /*
  43. /*   Normally, the true number of cached files are
  44. /*   calculated according to the available memory - if
  45. /*   you have put together a weird game where your
  46. /*   files average more then 50K, you may want to lower
  47. /*   the cache to just a few files - say 10 or 20. Normally, 
  48. /*   100 should be just fine, though.
  49. /*
  50. MAX_CACHE: 100
  51.  
  52. /* WALK_BUTTON: LEFT or RIGHT
  53. /*
  54. /*   This is the button used for "walking about"
  55. /*
  56. WALK_BUTTON: LEFT
  57.  
  58. /* EXIT_COL: colour
  59. /*
  60. /*   The colour of the text marking the exits
  61. /*
  62. EXIT_COL: 8
  63.  
  64. /* OBJ_COL: colour
  65. /*
  66. /*   The colour of the text marking the objects
  67. /*
  68. OBJ_COL: 1
  69.  
  70. /* START_ROOM: roomnumber;entrance
  71. /*
  72. /*   This is the room where the whole adventure starts
  73. /*
  74. START_ROOM: 1;1
  75.  
  76. /* MAX_ROOM: rooms
  77. /*
  78. /*   The highest room number used. Don't forget to alter this
  79. /*   when higher numbered rooms are added to the game!!
  80. /*
  81. MAX_ROOM: 50
  82.  
  83. /* MAX_SECTION: sections
  84. /*
  85. /*   The highest section number used. Don't forget to alter this
  86. /*   as sections are added to the game!
  87. /*
  88. MAX_SECTION: 2
  89.  
  90. /* MAX_DACT: direct_room_actions
  91. /*
  92. /*   The maximum number of direct room actions used anywhere in a
  93. /*   room file. Keep an eye on this value as your adventure
  94. /*   gets more complex...
  95. /*
  96. MAX_DACT: 50
  97.  
  98. MAX_ACTION: 100
  99. MAX_DLG: 10
  100.  
  101. /* GLOBALOBJS: number
  102. /*
  103. /*   Specifies the number of global objects. These are the
  104. /*   objects which can be used throughout the whole adventure, 
  105. /*   and also all objects with which you can talk using dialogues
  106. /*
  107. GLOBALOBJS: 50
  108.  
  109. /* SECTIONOBJS: number
  110. /*
  111. /*   Specifies the number of objects that only exists when
  112. /*   visiting a certain section.
  113. /*
  114. /*   Note that all object flags, new
  115. /*   names and states are lost when the section is exited, 
  116. /*   so any states must be saved and restored using
  117. /*   room flags!!!
  118. /*
  119. SECTIONOBJS: 2
  120.  
  121. /* ROOMOBJS: number
  122. /*
  123. /*   Specifies the number of objects that only exist within one room.
  124. /*   Note that no altered flags, states or names for these objects
  125. /*   remain between visits to the room: Any state changes must
  126. /*   be saved and stored using room flags!!!
  127. /*
  128. ROOMOBJS: 20
  129.  
  130. /* N_GLOBALBOBS: number
  131. /*
  132. /*   Specifies the number of global BOBs that can be
  133. /*   used. Actual BOB numbers for these start with 11 and
  134. /*   not 1, since BOB image bank slots 1-10 are reserved
  135. /*   for system use.
  136. /*
  137. N_GLOBALBOBS: 80
  138.  
  139. /* N_SECTIONBOBS: number
  140. /*
  141. /*   Specifies the number of section BOB images. These are
  142. /*   replaced each time the game enters a new section.
  143. /*
  144. N_SECTIONBOBS: 2
  145.  
  146. /* N_ROOMBOBS: number
  147. /*
  148. /*   Specifies the number of room BOB images. These are
  149. /*   always replaced when entering a new room.
  150. /*
  151. N_ROOMBOBS: 70
  152.  
  153. /* MSGFONT: fontname;fontsize
  154. /*
  155. /*   This is the font used for text displayed in the scene area
  156. /*   by SAY, THINK, RESP and TEXT commands.
  157. /*
  158. /*   The specified font and fontsize must be installed in the
  159. /*   FONT drawer of the currently used boot disk. Also, remember
  160. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  161. /*
  162. MSGFONT: hires-5a;8
  163.  
  164. /* COMFONT: fontname;fontsize
  165. /*
  166. /*   This is the font used for the text displayed in the
  167. /*   command area.
  168. /*
  169. /*   The specified font and fontsize must be installed in the
  170. /*   FONT drawer of the currently used boot disk. Also, remember
  171. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  172. /*
  173. COMFONT: garnet;9
  174.  
  175. /* TITLEFONT1: fontname;fontsize
  176. /*
  177. /*   This font can be used by TYPE and other commands.
  178. /*
  179. /*   The specified font and fontsize must be installed in the
  180. /*   FONT drawer of the currently used boot disk. Also, remember
  181. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  182. /*
  183. TITLEFONT1: garnet;9
  184.  
  185. /* TITLEFONT2: fontname;fontsize
  186. /*
  187. /*   This font can be used by TYPE and other commands.
  188. /*
  189. /*   The specified font and fontsize must be installed in the
  190. /*   FONT drawer of the currently used boot disk. Also, remember
  191. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  192. /*
  193. TITLEFONT2: garnet;9
  194.  
  195.  
  196. /* CLPART: filename
  197. /*
  198. /*   This is the screen from which all subsequent BOB images
  199. /*   are grabbed. Once you've grabbed the graphics
  200. /*   BOBS, another CLPART and further BOBS may be specified...
  201. /*
  202. CLPART: hammy.iff
  203.  
  204. /* BOBS: no;startbob;x1;y1;w;h;x-offset;hotspot
  205. /*
  206. /*   This statement grabs a single BOB image or a horizontally arranged
  207. /*   sequence of BOBs.
  208. /*
  209. /*   If the default setup of the command area is used, the following
  210. /*   images must be loaded in using BOBS: statements:
  211. /*
  212. /*          3 - Up arrow for use in the command (and dialogue) area lists
  213. /*          4 - Down arrow -"-
  214. /*          5 - Blank plate used to erase up and down arrows (1 and 2)
  215. /*          6 - Cut-scene indicator (a movie camera in Olaf).
  216. /*
  217. /*          INV_UP:, INV_DOWN:, DLG_UP:, DLG_DOWN:, and CUTSCENE_LAYOUT:
  218. /*          statements can be used to
  219. /*          specify other bob image numbers for these tasks if you so wish.
  220. /*
  221. /* Let's grab Hammy!!!
  222. /*
  223. BOBS: 10;11;1;1;31;47;32;0
  224. BOBS: 10;21;1;49;31;47;32;0
  225. BOBS: 10;31;1;97;31;47;32;0
  226. /* ...and the new mouse pointers
  227. CLPART: hammy_cursors.iff
  228. BOBS: 1;75;23;16;17;17;0;0
  229. BOBS: 1;76;3;16;17;17;0;0
  230.  
  231. CLPART: hammy_Symbols.iff
  232. /* Inventory and dialogue arrows
  233. BOBS: 2;77;163;5;18;15;23;0
  234. BOBS: 2;79;163;21;18;15;23;0
  235. /* Cutscene indicator
  236. BOBS: 1;6;89;1;59;29;0;$11
  237. /* 41-49 CD, certificate, empty glass, full glass, £2, squeaky toy, spade, saw, crowbar
  238. BOBS: 9;41;0;43;51;21;50;0
  239. /* 50-58 knife, screwdriver, empty, spanner, lamp, fork, £1, £14, Az-Bulb.
  240. BOBS: 9;50;0;63;51;21;50;0
  241. /* 59-67 Az-Transmitter, Az-Teleporter, Golden Hamster, 9 Hamsters, Tape, seeds, loadsa seeds, safe key, radio.
  242. BOBS: 9;59;0;83;51;21;50;0
  243. /* 68-68 Penny.
  244. BOBS: 1;68;0;103;51;21;50;0
  245.  
  246.  
  247. /* INV_LAYOUT: x1;y1;x2;y2;rows;cols;ICONS|TEXT;VERTICAL|HORIZONTAL; 
  248. /*             ink/image_number;bg
  249. /*
  250. /*   This statement defines the layout of the inventory in the
  251. /*   command area. VERTICAL|HORIZONTAL determines the scroll
  252. /*   direction. image_number is the image number of the icon
  253. /*   used for vacant slots in the inventory list.
  254. /*
  255. INV_LAYOUT: 306;20;605;59;2;6;ICONS;VERTICAL;52;8
  256.  
  257. /* INV_UP: x1;y1;w;h;image;image2
  258. /*
  259. /*   This defines the area and image for the inventory scroll "up"
  260. /*   (or "left") arrow.
  261. /*
  262. /*   "image" is the image when the function is available.
  263. /*   "image2" is the image when the function is unavailable.
  264. /*
  265. INV_UP: 283;24;17;14;78;77
  266.  
  267. /* INV_DOWN: See "INV_UP:"
  268. /*
  269. INV_DOWN: 283;43;17;14;80;79
  270.  
  271. /* DLG_UP: Same as "INV_UP:", but for the dialogue alternatives.
  272. /*
  273. DLG_UP: 8;6;17;14;78;77
  274.  
  275. /* DLG_DOWN: See "DLG_UP:"
  276. /*
  277. DLG_DOWN: 8;43;17;14;80;79
  278.  
  279. /* N_VERBS: number
  280. /*
  281. /*   Sets thenumber of verbs, or commands if you will, available
  282. /*   to the player. If anything else than 9, A VERB_TEXT and a
  283. /*   VERB_ZONE statement must be included for each verb. (9 was
  284. /*   the old GRAAL 1 default.)
  285. /*
  286. N_VERBS: 9
  287.  
  288. /* VERB_TEXT: verb_no;text
  289. /*
  290. VERB_TEXT: 1;Give
  291.  
  292. /* VERB_ZONE: verb_no;x1;y1;x2;y2
  293. /*
  294. /*   This is the "clickable area" in the command area corresponding
  295. /*   to the verb
  296. /*
  297. VERB_ZONE: 1;6;18;83;30;0;0; 
  298.  
  299. VERB_TEXT: 2;Pick up
  300. VERB_ZONE: 2;90;18;167;30;0;0; 
  301. VERB_TEXT: 3;Use
  302. VERB_ZONE: 3;174;18;251;30;0;0; 
  303. VERB_TEXT: 4;Open
  304. VERB_ZONE: 4;6;33;83;45;0;0; 
  305. VERB_TEXT: 5;Talk to
  306. VERB_ZONE: 5;90;33;167;45;0;0; 
  307. VERB_TEXT: 6;Push
  308. VERB_ZONE: 6;174;33;250;45;0;0; 
  309. VERB_TEXT: 7;Close
  310. VERB_ZONE: 7;6;48;83;60;0;0; 
  311. VERB_TEXT: 8;Look at
  312. VERB_ZONE: 8;90;48;167;60;0;0; 
  313. VERB_TEXT: 9;Pull
  314. VERB_ZONE: 9;174;48;251;60;0;0; 
  315.  
  316. /* LINE_LENGTH: characters
  317. /*
  318. /*   This is the maximum number of characters on one line when
  319. /*   text is displayed with SAY, THINK, etc. Line breaks are
  320. /*   inserted automatically. You can control line breaks manually
  321. /*   by providing \ characters in the string with shorter
  322. /*   intervals than this number indicates.
  323. /*
  324. LINE_LENGTH: 34
  325.  
  326. /* NORMAL_WAIT: waitlength
  327. /*
  328. /*   The larger this value, the longer texts and sentences
  329. /*   spoken remain on screen. Default is 100: If that is not
  330. /*   enough, try other nice, round numbers like 200 or 400
  331. /*
  332. NORMAL_WAIT: 50
  333.  
  334. /* SENTENCE_LAYOUT: x1;y1;x2;y2;ink;inkhi;bg
  335. /*
  336. /*   This is the box in the command area where the sentence
  337. /*   under construction is being shown.
  338. /*
  339. SENTENCE_LAYOUT: 6;2;634;14;3;11;8
  340.  
  341. /* CUTSCENE_LAYOUT: x1;y1;x2;y2;bg;ulx;uly;image
  342. /*
  343. /*   Specifies the properties of the cutscene indicator
  344. /*   x1;y1;x2;y2 is the area to be blanked out
  345. /*   bg is the colour to use in blanking
  346. /*   ulx;uly is the place to paste the indicator
  347. /*   image is the image of the indicator.
  348. /*
  349. CUTSCENE_LAYOUT: 4;17;253;61;8;101;26;6
  350.  
  351. /* ARROW_CURSOR: image;hotspotx;hotspoty
  352. /*
  353. /*   An alternative image for the arrow-shaped mouse pointer.
  354. /*   Image must be lowres and 4 colours. Bot the x and y hotspot
  355. /*   value must be set for the "sensitive point" of the cursor.
  356. /*
  357. ARROW_CURSOR: 76;0;0
  358.  
  359. /* CROSSHAIR_CURSOR: image;hotspotx;hotspoty
  360. /*
  361. /*   An alternative image for the "crosshair" mouse pointer.
  362. /*   Image must be lowres and 4 colours. Bot the x and y hotspot
  363. /*   value must be set for the "sensitive point" of the cursor.
  364. /*
  365. CROSSHAIR_CURSOR: 75;7;7
  366.  
  367. /* CURSOR_PALETTE: RGB;RGB;RGB
  368. /*
  369. /*   These are the three colour used for the mouse pointer in
  370. /*   the command and dialogue area. In the scene area, the
  371. /*   colours used are always colours 16,17, and 18 of the
  372. /*   backdrop picture palette
  373. /*
  374. CURSOR_PALETTE: 811;999;DDD
  375.  
  376. /* MODE_SWITCH: ROLL|INSTANT
  377. /*
  378. /*   Sets the way the command area and dialogue area are switched
  379. /*
  380. MODE_SWITCH: INSTANT
  381.  
  382. /* AREA_SIZES: scene_height;command_height
  383. /*
  384. /*   Sets the proportions of the split-screen display
  385. /*
  386. AREA_SIZES: 120;80
  387.  
  388. /* COMMAND_AREA: file
  389. /*
  390. /*   Specify the name of the picture file containing the graphics
  391. /*   for the command area.
  392. /*
  393. COMMAND_AREA: Hammycomm.iff;NORMAL
  394.  
  395. /* DLG_AREA: file
  396. /*
  397. /*   Specify the name of the picture file containing the graphics
  398. /*   for the dialogue input area.
  399. /*
  400. DLG_AREA: Hammydlg.iff
  401.  
  402. DLG_LAYOUT: 32;3;633;58;4;9;8;14
  403.  
  404. /* RESOURCE: file
  405. /*
  406. /*   This file is a resource bank used for
  407. /*   dialogue boxes, requesters, etc.
  408. /*
  409. /*   DEFAULT means GRAAL's built-in bank will be used - this
  410. /*   produces gray-scale, "neutral" requesters.
  411. /*
  412. /* RESOURCE: DEFAULT
  413. RESOURCE: Wood.Rsb
  414.  
  415.  
  416. /* ===================================================================== */
  417. /*                                                                       */
  418. /* Here is data describing the standard attributes of the main character */
  419. /*                                                                       */
  420. /* ===================================================================== */
  421.  
  422.  
  423. /* CHARACTER_HEIGHT: pixels
  424. /*
  425. /*   approximate or "average" height
  426. /*
  427. CHARACTER_HEIGHT: 40
  428.  
  429. /* CHARACTER_WIDTH: pixels
  430. /*
  431. CHARACTER_WIDTH: 22
  432.  
  433. /* CHARACTER_COL: colorindex
  434. /*
  435. /*   Tells the colour of the dialogue text
  436. /*
  437. CHARACTER_COL: 9
  438.  
  439. /* STILL_xxxxx: BOB image
  440. /*
  441. /*   These are the character's standard poses when faces in
  442. /*   the respective direction.
  443. /*   ($8000+hex number makes the image flip horisontally.)
  444. /*
  445. STILL_RIGHT: 14
  446. STILL_LEFT: $800E
  447. STILL_BACK: 12
  448. STILL_FRONT: 11
  449.  
  450. /* PAUSE_xxxxx: BOB image
  451. /*
  452. /*   These are the character's standard poses when pausing
  453. /*   between moves. (More "ready-for-action" poses than the
  454. /*   STILL_xxxxxx images, although they may be the same if
  455. /*   you like it that way.)
  456. /*   ($8000+hex number makes the image flip horisontally.)
  457. /*
  458. PAUSE_RIGHT: 13
  459. PAUSE_LEFT: $800D
  460. PAUSE_BACK: 12
  461. PAUSE_FRONT: 11
  462.  
  463. /* WALK_xxxxx: amalsequence
  464. /*
  465. /*   These are the default animation sequences for moving in the
  466. /*   four main directions.
  467. /*
  468. WALK_RIGHT: A 0,(16,3)(15,3)(14,3)(17,3)(18,3)(17,3)(14,3)(15,3)
  469. WALK_LEFT: A 0,($8010,3)($800F,3)($800E,3)($8011,3)($8012,3)($8011,3)($800E,3)($800F,3)
  470. WALK_AWAY: A 0,(29,4)(30,4)(31,4)(30,4)
  471. WALK_TOWARD: A 0,(26,4)(27,4)(28,4)(27,4)
  472.  
  473. /* WALK_SPEED: characterspeed
  474. /*
  475. /*   Adjust this number to match the animation speed, making the
  476. /*   character actually walk around rather than "float about".
  477. /*
  478. WALK_SPEED: 0.8
  479.  
  480. /* TALK_MAP: stillimage;animation
  481. /*
  482. /*   The speech animation used depends upon the still image
  483. /*   displayed before it begins. This keyword maps the animations
  484. /*   to the still images. Max. 8 talk_maps may be specified.
  485. /*   direction is one of FRONT, BACK, RIGHT or LEFT. If imagenumbers
  486. /*   point to reverse images, the correct form is $FFFF8000+$imagenumber
  487. /*
  488. TALK_MAP: 11;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  489. TALK_MAP: 12;A 0,(21,24)(12,16)(22,36)(12,48)(22,18)(12,32)
  490. TALK_MAP: 13;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  491. TALK_MAP: $FFFF800D;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  492. TALK_MAP: 14;A 0,(23,18)(14,12)(23,12)(14,6)(23,12)(14,12)(23,6)(14,12)(24,6)(14,18)
  493. TALK_MAP: $FFFF800E;A 0,($8017,18)($800E,12)($8017,12)($800E,6)($8017,12)($800E,12)($8017,6)($800E,12)($8018,6)($800E,18)
  494.  
  495. /* HANDLE_MAP: stillimage;handlelow;handlemid;handlehigh
  496. /*
  497. /*   sets the animations for character handling things much the
  498. /*   same way as TALK_MAP maps the speech animations.
  499. /*
  500. HANDLE_MAP: 11;A 1,(11,12)(36,1);A 1,(11,12)(34,1);A 1,(11,12)(35,1)
  501. HANDLE_MAP: 12;A 1,(12,12)(38,1);A 1,(12,12)(39,1);A 1,(12,12)(40,1)
  502. HANDLE_MAP: 14;A 1,(14,12)(32,1);A 1,(14,12)(33,1);A 1,(14,12)(37,1)
  503. HANDLE_MAP: $FFFF800E;A 1,($800E,12)($8020,1);A 1,($800E,12)($8021,1);A 1,($800E,12)($8025,1)
  504.  
  505.  
  506. /* ===================================================================== */
  507. /*                                                                       */
  508. /*                   Objects, dialogues, etc. set up below               */
  509. /*                                                                       */
  510. /* ===================================================================== */
  511.  
  512.  
  513. /* OBJECT: no;name;startloc;visible;bob;startimg/anim;xpos;ypos; 
  514. /*         coffsx;coffsy;cstill;prep;pickable;animch;command;icon;handlepos; 
  515. /*         types;w1;w2;w3
  516. /*
  517. /*   This is the data for an object.
  518. /*   no = object number, used in coding so if you change this be sure
  519. /*        to change or erase all code that goes with it...
  520. /*   name = a string containing the (initial) inventory name for the object
  521. /*   startloc = object starts in room number ...
  522. /*   visible = is the object shown? NVIS = False, VIS = True
  523. /*   startbob = starting bob number for displaying object
  524. /*   startimg/startanim = bob image or amalsequence used for this object.
  525. /*                        LBOBs can be used, as long as these LBOB numbers
  526. /*                        are valid for each and every room where the
  527. /*                        object can appear!
  528. /*   xpos;ypos = display object in this position.
  529. /*   coffs;coffsy = offset of character relative object when handling
  530. /*   cstill = still image of character when walking to object
  531. /*   prep = object preposition. If not blank, "Use" will require 2nd object
  532. /*   pickable = Can character pick this up? NPICK = False, PICK = True
  533. /*   animch = Amal channel to use for this object
  534. /*   command = This is the verb executed if the player right-clicks the
  535. /*             object. 0 for no "quick command"
  536. /*   icon = This is the image number for the icon used in the
  537. /*          inventory display.
  538. /*   handlepos: LOW, MID or HIGH determines animation for handling object.
  539. /*   type = string of characters indicating object type.
  540. /*          Standard types: M=male character, F=female character, G=group
  541. /*          A=animal, C=container, D=Dead, V=Alive
  542. /*          -=Abstract (unreachable, consisting of air, etc.)
  543. /*          Other types: S=Stone, W=Wood, T=Metal, L=Liquid, - it's up to you.
  544. /*   w1;w2;w3 = have to look these up in the grammar book. Anyway, deals with
  545. /*              how you speak about the objects, as you can see below.
  546. /*
  547. /* OBJECT: no;name;startloc;visible;bob;startimg/anim;xpos;ypos; 
  548. /*         coffsx;coffsy;cstill;prep;pickable;animch;command;icon;handlepos; 
  549. /*         types;w1;w2;w3
  550. /*
  551. /* Object 0 is a dummy object - icon image used for "empty places" in the
  552. /* inventory display.
  553. /*
  554.  
  555. OBJECT: 1;bartender;3;VIS;55;A 0,(RBOB3,36)(RBOB2,48)(RBOB3,24)(RBOB2,36)(RBOB3,36)(RBOB2,48)(RBOB3,24)(RBOB2,36)(RBOB3,64)(RBOB2,100);210;52;-22;31;14; ;NPICK;8;5;0;HIGH;MV;a;this;him
  556. OBJECT: 2;shop owner;4;VIS;50;A 0,(RBOB1,40)(RBOB2,30)(RBOB3,50)(RBOB2,10);291;84;-17;3;14; ;NPICK; ;5; ;MID;MV;a;the;him
  557. OBJECT: 3;boat owner;5;VIS;50;RBOB1;193;61;-16;19;14; ;NPICK; ;5; ;HIGH;MV;a;it;him
  558. OBJECT: 4;restaurant owner;6;VIS;50;RBOB1;193;91;-25;3;14; ;NPICK; ;5; ;MID;MV;a;the;him
  559. OBJECT: 5;electronics bloke;20;VIS;50;RBOB1;148;39;-16;25;14; ;NPICK; ;5; ;MID;MV;a; ;him
  560. OBJECT: 6;ivan;21;VIS;53;RBOB4;107;57;-17;27;14; ;NPICK; ;5; ;HIGH;MV; ; ;him
  561. OBJECT: 7;mod bloke;17;VIS;50;A 0,(RBOB1,40)(RBOB9,5)(RBOB2,30)(RBOB9,5);516;85;-14;-1;14; ;NPICK; ;5; ;MID;MV;a ;this;him
  562. OBJECT: 8;vicious dog;17;VIS;51;A 0,(RBOB4,20)(RBOB5,30)(RBOB6,40)(RBOB5,10);542;83;-18;4;14; ;NPICK; ;8; ;LOW;AV;a;this ;him
  563.  
  564. OBJECT: 10;cd;4;VIS;52;RBOB9;144;57;-25;25;14;with;PICK; ;8;41;HIGH; ;a;this;it
  565. OBJECT: 11;glass;9;VIS;53;RBOB2;152;76;-17;5;14;with;PICK; ;8;43;MID; ;a;this;it
  566. OBJECT: 12;certificate;9;VIS;54;RBOB3;120;50;-21;24;14; ;PICK; ;8;42;HIGH;P;a;this;it
  567. OBJECT: 13;two pounds;6;NVIS; ; ; ; ; ; ; ; ; ; ;8;45; ;TG; ;these;them
  568. OBJECT: 14;Squeaky Toy;10;NVIS; ; ; ; ; ; ; ; ;PICK; ;8;46; ; ;a;this;it
  569.  
  570. OBJECT: 15;Spade;12;VIS;54;RBOB2;142;92;-14;1;14;on;PICK; ;8;47;MID;XTW;a;this;it
  571. OBJECT: 16;Saw;12;VIS;55;RBOB3;164;92;14;2;$800E;on;PICK; ;8;48;MID;XTW;a;this;it
  572. OBJECT: 17;Crowbar;12;VIS;56;RBOB5;198;89;13;0;$800E;on;PICK; ;8;49;MID;XT;a;this;it
  573. OBJECT: 18;Knife;12;VIS;57;RBOB8;69;65;0;19;$800E;on;PICK; ;8;50;MID;XT;a;this;it
  574. OBJECT: 19;Screwdriver;12;NVIS; ; ; ; ; ; ; ;on; ; ;8;51; ;XT;a;this;it
  575. OBJECT: 20;Spanner;12;NVIS; ; ; ; ; ; ; ;on; ; ;8;53; ;XT;a;this;it
  576.  
  577. OBJECT: 21;Lamp;7;VIS;52;RBOB3;137;40;-9;36;14;in;PICK; ;8;54;HIGH; ;a;this;it
  578. OBJECT: 22;Fork;7;VIS;53;RBOB4;188;39;-9;37;14;with;PICK; ;8;55;HIGH;TX;a;this;it
  579.  
  580. OBJECT: 23;One Pound;6;NVIS; ; ; ; ; ; ; ;in; ; ;8;56; ; ;a;this;it
  581. OBJECT: 24;Fourteen Pounds;6;NVIS; ; ; ; ; ; ; ; ; ; ;8;57; ; ;a;this;it
  582.  
  583. OBJECT: 25;Az-Bulb;20;VIS;51;RBOB4;187;61;-11;2;14;in;PICK; ;8;58;LOW; ;a;this;it
  584. OBJECT: 26;Az-Transmitter;20;VIS;52;RBOB5;197;61;-6;1;14; ;PICK; ;8;59;LOW; ;a;this;it
  585. OBJECT: 27;Az-Teleporter;20;VIS;53;RBOB6;208;61;-13;2;14;on;PICK; ;8;60;LOW; ;a;this;it
  586.  
  587. OBJECT: 28;Golden Hamster;3;NVIS; ; ; ; ; ; ; ;in; ; ;8;61; ;TAD;a;this;it
  588. OBJECT: 29;Dodgy Tape;21;NVIS; ; ; ; ; ; ; ;in; ; ;8;63; ; ;a;this;it
  589. OBJECT: 30;Mini;21;VIS;50;RBOB1;283;69;17;-2;$800E; ;NPICK; ;8; ;MID;T;a;this;it
  590. OBJECT: 31;Sunflower Seeds;4;NVIS; ; ; ; ; ; ; ;in; ; ;8;64; ; ;some;these;them
  591. OBJECT: 32;Key;22;NVIS; ; ; ; ; ; ; ;in; ; ;8;66; ;T;a;this;it
  592. OBJECT: 33;Radio;11;NVIS; ; ; ; ; ; ; ;on; ; ;8;67; ; ;a;this;it
  593.  
  594. OBJECT: 34;One Penny;1;NVIS; ; ; ; ; ; ; ;in; ; ;8;68; ;T; ;this;it
  595.  
  596.  
  597. /* DLG: no;dlgobj;dlgcol;dlgoffs;dlganim
  598. /*
  599. /*   This sets up the characters and animations used
  600. /*   by the various dialogue partners. You MUST one DLG statement
  601. /*   for each dialogue there is, but you can actually use any of them
  602. /*   in any of the RESP statements of any dialogue! (Flexible, but
  603. /*   not really that useful.)
  604. /*
  605. /*   dlgcol = the colour index of the dialogue text
  606. /*   dlgoffs = dialogue text offset from character hotspot
  607. /*
  608. /* 1 is bartender
  609. DLG: 1;1;11;-20;A 0,(RBOB4,12)(RBOB3,24)(RBOB4,18)(RBOB3,6)(RBOB2,12)(RBOB3,18)(RBOB2,20)(RBOB4,12)(RBOB3,30)
  610. /* 2 is shop owner
  611. DLG: 2;2;6;-26;A 0,(RBOB1,24)(RBOB4,18)(RBOB5,30)(RBOB4,24)(RBOB5,6)(RBOB6,3)(RBOB7,3)(RBOB6,3)
  612. /* 3 is pleasure boat owner
  613. DLG: 3;3;12;-20;A 0,(RBOB1,12)(RBOB2,6)(RBOB3,18)(RBOB2,12)(RBOB3,24)
  614. /* 4 is floating restaurant owner
  615. DLG: 4;4;13;-40;A 0,(RBOB1,15)(RBOB2,19)(RBOB3,10)(RBOB2,8)(RBOB3,25)
  616. /* 5 is E.M. Cloud, owner of Cloud Electronics
  617. DLG: 5;5;5;15;A 0,(RBOB1,15)(RBOB2,20)(RBOB3,30)(RBOB2,7)(RBOB3,12)
  618. /* 6 is Ivan, the owner of the garage.
  619. DLG: 6;6;12;-30;A 0,(RBOB4,6)(RBOB5,6)(RBOB6,3)(RBOB5,5)(RBOB4,6)
  620. /* 7 is the MOD bloke.
  621. DLG: 7;7;12;-40;A 0,(RBOB1,10)(RBOB3,25)(RBOB1,15)(RBOB3,30)
  622. /* 8 is the dodgy MOD dog.
  623. DLG: 8;8;5;-15;A 0,(RBOB4,15)(RBOB5,25)(RBOB6,10)(RBOB7,40)(RBOB6,20)
  624.  
  625.  
  626.  
  627.  
  628. /* ===================================================================== */
  629. /*                                                                       */
  630. /*               Here come the global actions, working everywhere        */
  631. /*                                                                       */
  632. /* ===================================================================== */
  633.  
  634.  
  635. /* ACTION: verbno;condition;...;command;...
  636.  
  637. ACTION: -2;TRACK OFF;EXIT
  638.  
  639. /*
  640. /* Action 1 - Give
  641. /* ---------------
  642. /*
  643. ACTION: 1;IFOBJ 34;IFTYPE2 M|F;SAY Yeah, give #W23 one penny! That would really be useful.;EXIT
  644. ACTION: 1;IFOBJ 34;IFTYPE2 A;SAY Are you going to try and choke it or what?!;EXIT
  645.  
  646. ACTION: 1;IFOBJ 11;IFOF 11,1=1;IFTYPE2 A;SAY I don't want to make the poor thing drunk!;EXIT
  647. ACTION: 1;IFOBJ 11;IFOF 11,1=2;IFTYPE2 M|F;SAY Sorry, I am not into poisoning people.;EXIT
  648. ACTION: 1;IFOBJ 11;IFOF 11,1=2;IFTYPE2 A;SAY You really are a nasty person.;SAY You're willing to poison the poor animal with this muck just to get further in the game!;SAY Well, you can forget that idea.;EXIT
  649.  
  650. ACTION: 1;IFTYPE2 M|F;SAY I'm not a charitable organisation!|No thanks, I want to keep it for the time being.|I don't think my gift would be appreciated.;EXIT
  651.  
  652. ACTION: 1;IFPICK;SAY There's no point in that!;EXIT
  653. ACTION: 1;SAY I can't do that!;EXIT
  654.  
  655. /*
  656. /* Action 2- Pick up
  657. /* -----------------
  658. /*
  659. ACTION: 2;IFCARR;SAY I've already got it!;EXIT
  660. ACTION: 2;IFPICK;MOBJ;HANDLE;W 12;PICK;HANDLE -1;EXIT
  661. ACTION: 2;IFTYPE F;SAY I'd love to but I don't think she'd appreciate it.!;EXIT
  662. ACTION: 2;IFTYPE M;SAY Err..... no thanks!;EXIT
  663. ACTION: 2;IFTYPE -;SAY I think you're taking the piss now.;EXIT
  664. ACTION: 2;SAY I can't pick that up.|Sorry, can't do that.;EXIT
  665.  
  666. /*
  667. /* Action 3 - Use
  668. /* --------------
  669. /*
  670.  
  671. ACTION: 3;IFOBJ 26;IFOF 1=0;SAY I don't know what frequency I have to transmit on!;EXIT
  672. ACTION: 3;IFOBJ 26;IFOF 1=1;SAY I think I've done enough playing about with that.;EXIT
  673. ACTION: 3;IFOBJ 33;IFOBJ2 26;IFOF 26,1=1;SAY I've already put the frequency in.;EXIT
  674. ACTION: 3;IFOBJ 33;IFOBJ2 26;SAY Okay, let's transfer the frequency over...;W 50;SAY Okay, that's done.;SETOF 26,1=1;SAY Let's transmit!;SAY <Hey, John, we got a bit of a problem at the back of the airfield here...>
  675. ACTION: 3;IFOBJ 33;IFOBJ2 26;SAY <Could you give us a hand here?>;TEXT -1, ,5,<Yeah, roger that, I'm on my way.>;W 50;SAY Well, that seemed to work!;EXIT
  676.  
  677. ACTION: 3;IFOBJ 19;IFOBJ2 25|26|27|29|33;SAY There is no point in taking that apart.;EXIT
  678. ACTION: 3;IFTYPE X;IFOBJ2 25|26|27;SAY You can't break it like that!;SAY Aztec equipment is unbreakable, remember?;EXIT
  679.  
  680. ACTION: 3;IFOBJ 25;IFOBJ2 21;IFOF 21,2=0;IFCARR 25;OBJ1 21;SETOF 2=1;SAY Okay, the lamp is now fitted with an Aztec bulb!;NAME Lamp with Aztec Bulb!;REMOVE 25,U,0;EXIT
  681.  
  682. ACTION: 3;IFOBJ 14;SAY Who do you think I am, a little kid?|That would be very childish.;EXIT
  683.  
  684. ACTION: 3;IFOBJ 11;IFOF 1=0;IFTYPE2 M|F;SAY It's not very nice to glass people!;EXIT
  685. ACTION: 3;IFTYPE X;IFTYPE2 T;SAY I think that would hurt the #OBJ1 more than the #OBJ2!;EXIT
  686. ACTION: 3;IFTYPE X;IFTYPE2 W;SAY I'm not a vandal, you know!;EXIT
  687. ACTION: 3;IFTYPE X;IFTYPE2 M|F;SAY That is not a very nice thing to do!|You can't go round hurting people like that!;EXIT
  688. ACTION: 3;IFTYPE X;IFTYPE2 A;SAY Aww, no, I don't want to hurt the poor little animal!;EXIT
  689.  
  690. ACTION: 3;IFTYPE -;SAY Oh, come on!;EXIT
  691. ACTION: 3;IFTYPE M|F;SAY Use #OBJ1? You can't just use people like that!;EXIT
  692. ACTION: 3;SAY I don't follow you.|How would that help me?|Sounds a bit pointless to me.|Try something more logical next time!;EXIT
  693.  
  694. /*
  695. /* Action 4 - Open
  696. /* ---------------
  697. /*
  698.  
  699. ACTION: 4;IFTYPE M|F|A;SAY I'm not qualified to perform surgery!;EXIT
  700. ACTION: 4;SAY I can't open #W13.|Sorry, I can't open that.|It won't open.;EXIT
  701.  
  702. /*
  703. /* Action 5 - Talk to
  704. /* ------------------
  705. /*
  706. ACTION: 5:IFTYPE D;IFTYPE G;SAY I could, but #OBJ1 make a lousy audience!;EXIT
  707. ACTION: 5;IFTYPE G;SAY I'd rather not disturb them.;EXIT
  708. ACTION: 5;IFTYPE A;SAY Yeah, right. I'm going to get a lot of sense out of it!;EXIT
  709. ACTION: 5;IFTYPE F;SAY I think I'll leave her alone for the minute.;EXIT
  710. ACTION: 5;IFTYPE M;SAY Why would I want to talk to him?;EXIT
  711. ACTION: 5;SAY I can talk to #W12 #OBJ1 all day, but I will not get any response.|If you like talking to inanimate objects, that is fine, but don't expect me to.;EXIT
  712.  
  713. /*
  714. /* Action 6 - Push
  715. /* ---------------
  716. /*
  717. ACTION: 6;IFTYPE -;SAY I reckon you're a bit drunk!;EXIT
  718. ACTION: 6;IFTYPE M;SAY No thanks, he'll probably thump me one.;EXIT
  719. ACTION: 6;IFTYPE F;SAY Why would I want to push a woman?;SAY Who do you think I am?;EXIT
  720. ACTION: 6;IFTYPE A;SAY I don't think I will... it looks vicious.;EXIT
  721. ACTION: 6;SAY That would not accomplish anything.|Why should I do that?|There is no point in doing that.;EXIT
  722.  
  723. /*
  724. /* Action 7 - Close
  725. /* ----------------
  726. /*
  727. ACTION: 7;IFTYPE M;SAY I'd have a hard job to shut him up!;EXIT
  728. ACTION: 7;IFTYPE F|A;SAY No can do, I'm afraid.;EXIT
  729. ACTION: 7;SAY I can't close that!|There is nothing that can be shut.|Why don't you try closing your mouth instead?;EXIT
  730.  
  731. /*
  732. /* Action 8 - Look at
  733. /* ------------------
  734. /*
  735. ACTION: 8;MOBJ
  736.  
  737. ACTION: 8;IFOBJ 34;SAY It's a one penny coin.;SAY I'm rich!;EXIT
  738.  
  739. ACTION: 8;IFOBJ 33;SAY It says "John's Receiver. MOD Property.";SAY It's tuned to an MOD frequency.;SAY I can occasionally hear some bloke waffling.;EXIT
  740.  
  741. ACTION: 8;IFOBJ 31;IFOF 1=0;SAY Some sunflower seeds.;EXIT
  742. ACTION: 8;IFOBJ 31;IFOF 1=1;SAY Loadsa sunflower seeds!;EXIT
  743. ACTION: 8;IFOBJ 29;SAY It says on the label: "Leader's rave tracks.";SAY "Recorded on super Lo-Fi-tone tape on Basheewa system.";SAY Bet it sounds really good! (NOT);EXIT
  744.  
  745. ACTION: 8;IFOBJ 28;IFOF 1=0;SAY It's a golden hamster!;SAY Not a real one, just a gold plated plastic one.;EXIT
  746. ACTION: 8;IFOBJ 28;SAY Wow, nine golden hamsters!;EXIT
  747.  
  748. ACTION: 8;IFOBJ 27;SAY Aztec Teleporter. Beta version.;EXIT
  749. ACTION: 8;IFOBJ 26;SAY Aztec Transmitter. Transmit on any frequency!;EXIT
  750. ACTION: 8;IFOBJ 25;SAY Aztec Light Bulb. The Ultimate in lighting technology!;EXIT
  751.  
  752. ACTION: 8;IFOBJ 24;SAY Fourteen pounds, cash.;EXIT
  753. ACTION: 8;IFOBJ 23;SAY One pound coin.;SAY Jack pays terrible wages.;EXIT
  754.  
  755. ACTION: 8;IFOBJ 21;IFOF 1=0;SAY It's a standard mains lamp.;EXIT
  756. ACTION: 8;IFOBJ 21;IFOF 2=0;SAY It's a standard mains lamp with a bulb that doesn't work!;EXIT
  757. ACTION: 8;IFOBJ 21;IFOF 3=0;SAY It's a standard mains lamp, but it is fitted with an Aztec light bulb!;EXIT
  758. ACTION: 8;IFOBJ 21;SAY It's a mains lamp, but the Aztec Bulb seems to be lighting even though it is not plugged in!;EXIT
  759.  
  760. ACTION: 8;IFOBJ 22;SAY It's a fork. Quite a bendy one, too.;EXIT
  761.  
  762. ACTION: 8;IFOBJ 20;SAY Well, it's a spanner. What else do I need so say?;EXIT
  763. ACTION: 8;IFOBJ 19;SAY It's a flatblade screwdriver.;EXIT
  764. ACTION: 8;IFOBJ 18;SAY It's a sharp retractable knife.;EXIT
  765. ACTION: 8;IFOBJ 17;SAY Essential for burglary!;SAY (Joke);EXIT
  766. ACTION: 8;IFOBJ 16;SAY Look, it's a saw, okay! What do you expect me to say about it?;EXIT
  767. ACTION: 8;IFOBJ 15;SAY Perfect for digging.;EXIT
  768. ACTION: 8;IFOBJ 14;SAY It's a squeaky toy, which looks vaguely like a rat.;SAY If you squeeze it, it squeaks!;EXIT
  769. ACTION: 8;IFOBJ 13;SAY Two pound coins.;SAY I'm not sure what ingredients you can buy with that, but never mind.;EXIT
  770. ACTION: 8;IFOBJ 11;IFOF 1=0;SAY It's an empty glass.;EXIT
  771. ACTION: 8;IFOBJ 11;IFOF 1=1;SAY It's a glass filled with whisky.;EXIT
  772. ACTION: 8;IFOBJ 11;IFOF 1=2;SAY It's a glass filled with Cockroach and Whisky stew.;SAY I bet it tastes disgusting but I'm not going to try it.;EXIT
  773. ACTION: 8;IFOBJ 12;SAY Chef's certificate:\\This is to certify that Kevin Burns...;SAY ...is qualified to cook food to the standard required for public consumption.;EXIT
  774. ACTION: 8;IFOBJ 10;SAY "Turbo Guitar". Hmm.;SAY After paying £2 for this, I wonder if it is any good?;EXIT
  775.  
  776. ACTION: 8;IFTYPE F;SAY No thanks, she might get the wrong idea.;EXIT
  777. ACTION: 8;IFTYPE A;SAY What a cute looking thing.;EXIT
  778. ACTION: 8;SAY Nothing special about it.|Just #W11 #OBJ1!|Just a boring #OBJ1!;EXIT
  779.  
  780. /*
  781. /* Action 9 - Pull
  782. /* ---------------
  783. /*
  784. ACTION: 9;IFTYPE G;SAY What do you mean - pull their legs??;EXIT
  785. ACTION: 9;IFTYPE M;SAY I don't think he'll budge.;EXIT
  786. ACTION: 9;IFTYPE F;SAY I'm trying to find a way out, not pull the birds!;EXIT
  787. ACTION: 9;IFTYPE A;SAY No thanks, it might bite me or something.;EXIT
  788. ACTION: 9;SAY It won't budge.|That won't help anything.|There's no point in doing that;EXIT
  789.  
  790. /*
  791. /* Action 10 - Score
  792. /* -----------------
  793. /*
  794. ACTION: 10;TEXT -1,0,11,You have scored #R#0#20# points so far.;EXIT
  795. /* End of boot file - There must be some comments here, otherwise the last
  796. /* command is not regarded.
  797.